The BSCWeasel and Eclipse-powered Cooperative End User Development
نویسندگان
چکیده
The position paper reports on our experiences with building an Eclipse based BSCW client called BSCWeasel. The client opens new opportunities for using the BSCW system, which was developed as a web-based groupware solution providing coordination support concepts like Shared Workspaces, Awareness Support, Community Support, etc. (see http://www.bscw.de/). It is an important goal of the BSCW approach to provide end users with the support to adapt (“tailor”) the system to match their current cooperation needs. We will use this system as an example application to investigate the area of cooperative end user development (EUD). EUD deals with tools and techniques for end users for the tailoring of software systems for individual preferences as well as for changing requirements. The technical approach, called component-based tailorability, was inspired by combining the work of Doug McIlroy and Alan Kay (Mørch et al. 2004; Stevens and Wulf 2002). Several approaches have been published on the issues of building component-based systems for collaborative settings (Hummes and Merialdo 2000; Koch and Teege 1999; Malone et al. 1995; Slagter and Ter Hofte 2002; Teege 2000). With version 3, Eclipse, that has become very popular as an integrated development environment (IDE), offers improved support for component-based architectures using the concept of plug-ins, and for implementing rich clients. Implementing our example application using the Eclipse framework allows to study the research concepts in real world setting with the stable and well supported platform. On the other hand, a stronger focus on experimental research in the areas of Computer-Supported Cooperative Work (CSCW) and EUD may provide concepts that prove to be useful for the future development of Eclipse. At the end of this contribution we give an outline of our future work. In particular, we want to present design ideas to integrate cooperative end user development into the Eclipse framework. Bricolage as a design concept for the BSCWeasel Our research groups work on the general question of how to use the paradigm of software components to build flexible systems that can be tailored by the end user (Mørch et al. 2004; Stevens and Wulf 2002; Stiemerling 2000; Stiemerling et al. 1997; Wulf 1999). At the moment we use Eclipse as a framework to construct component based applications. We have two reasons for our interest. First, Eclipse is an interesting technological infrastructure with a sophisticated component concept. This gives the chance to study the concept of 1 In this paper the words “component” and “plug-in” are synonyms. component-based system architectures in the large for the first time. The second interest is to observe the Eclipse community and its infrastructure, considering it as an important factor for doing cooperative tailoring. Our research is split in two stages. In the first stage we want to create an Eclipse-based CSCW application. Doing so, we want to learn about subtleties of the architecture and components in detail. But we also want to create a usable and stable open source CSCW platform which can be used in the second stage to integrate concepts of cooperative tailoring into a real world context. Under the constraint to build a useful and stable CSCW application with the least effort possible, we try to (re-)use existing artefacts as much as possible. For that reason we chose to extend BSCW, as it is a well-known and popular web-based CSCW platform. Since Version 4 it is possible to connect rich clients with the BSCW Server using the so called BSCW XAPI. Initially, we had to decide whether we wanted to create an abstract framework first, which then would guide the design of the actual components later. The other approach, which we call Bricolage, was more pragmatic. Büscher el al. describe Bricolage as: “’designing immediately’, using ready-at-hand materials, combinations of already existing pieces of technology – hardware, software and facilities (e.g., Internet providers) – as well as additional, mostly ‘off-the self’ ones. It therefore also involves design as assembly” (Büscher et al. 2001). In our case this meant to use the opportunities given by an existing CSCW infrastructure and primarily recycle and tailor existing Eclipse components. In some sense, the Bricolage approach transfers ideas of component-based tailorability back to the professional design process. But doing Bricolage in a professional manner means that a major a part of the design is to search for existing artefacts explicitly and examine and reinterpret those found in order to make use of them for one's own purposes. (a) Bricolage of target management support as a starting point to connect the BSCW via the X-API (b) Design studies: Proving special views to group content, depending on the requirements of the context Figure 1: Snapshots of the BSCWeasel We do not want to go into the technical details of BSCWeasel, but give an outline of its functionality. The BSCWeasel is a compound of standard core components for rich client applications, a self-made component that provides a connection to the BSCW server and an adaptation of Eclipse target management support (at the moment it supports WebDav and FTP). In the first step we only changed the existing FTP component and replaced all specific 2 Technically speaking the X-API is a module that exports part of the internal BSCW API using the XML RPC protocol. 3 In the culture of eclipse community the concept of Bricolage can be characterized as a combination of the “Monkey See/Monkey Do” rule (Gamma and Beck 2003) and the concept of building architectures by refactoring (Beck 2000). FTP commands with the corresponding BSCW commands. Figure 1 (a) presents a snapshot of our system. In a second step, we also refactored the whole target management framework in order to reduce the plug-in dependencies of our BSCWeasel system. Additionally, extension points were created which make it easy to build new, light weight BSCW views (Figure (b) presents a design study of such a view). Our main experience of this software development process is quite different from the ordinary process. Most of the time was spent on searching for adequate components that can be used as a quarry of artefacts for our solution and on understanding the implementation of these components. The next steps will be to integrate more BSCW-related functionality into the BSCWeasel and to experiment with different views for different user groups and tasks. It is also planned to bricolage Eclipse Games components and Eclipse Jabber Instant Messaging components in order to provide Computer-Supported Cooperative Playing (CSCP) at work (Al-Zubaidi and Stevens 2004). Groupware systems providing Cooperative End User Development The vision of End User Development is an attempt to enhance the concepts of end user programming in order to improve the tailorability of computer systems. Current approaches to support tailorablity mostly focus on improving the flexibility of tools and on improving the usability of interfaces for tailoring. On the other hand, several ethnographically influenced studies (Mackay 1990; MacLean et al. 1990) also point out the communicative and collaborative user activities that are highly relevance to creating and maintaining successful use situations in organisations. The concept of cooperative end user development (Co-EUD) is to embed tailoring in a larger context of a process, namely the process of “appropriation” of a collaborative software product by a group of users or an organisation. Furthermore, CoEUD focuses these communicative and collaborative user activities beyond tool configuration (cf. Pipek and Kahler 2004). So in analogy to definition of CSCW by Bannon/Schmidt, CoEUD should be conceived as an endeavour to understand the nature and characteristics of cooperative tailoring with the objective of designing adequate computer-based technologies. With BSCWeasel we can compare the tailoring opportunities of web-based architecture with the one using the Eclipse framework. BSCW like some other Groupware systems follows the concept of web-based thin client solutions. This concept has several advantages for the end user as there is no need for installation, for instance. But from a Co-EUD perspective this architecture has also major drawbacks. According to the fact that the whole application is fully executed on the server side, it is difficult or impossible for an ordinary user to fit the system into her use context. For a purely server based system it is more difficult to provide different scopes of validity of a tailoring activity. As a consequence, usually only the small group of system administrators has the opportunity to adapt the systems in a manner that goes beyond the parameterisation of standard options. Table 1 lists the different tailoring options of
منابع مشابه
Appropriation Infrastructure: Mediating Appropriation and Production Work
End User Development offers technological flexibility to encourage the appropriation of software applications within specific contexts of use. Appropriation needs to be understood as a phenomenon of many collaborative and creative activities. To support appropriation, we propose integrating communication infrastructure into software application that follows an“easy-to-collaborate”-principle. Su...
متن کاملContinuous Coordination (CC): A New Collaboration Paradigm
The increase in software complexity introduced the need for software development teams and consequently the need to coordinate team members’ activities and create a shared awareness. We seek to overcome some the pitfalls of earlier attempts to coordinate software development through a new coordination paradigm we term Continuous Coordination (CC). Generally speaking, the CC paradigm complements...
متن کاملProbing the Reasons Why the Goals of the Fifth Economic, Social and Cultural Development Plan Have not Been Realized in the Cooperative Sector in Iran
The cooperative sector is one of the three main components of the Islamic Republic of Iran’s economic system. Based on the top policies of Article 44 of the Constitution, its share of the national economy is expected to reach 25% by the end of the Fifth Development Plan. However, only 7% of this share has so far been realized. This study aims at discovering the reasons, backgrounds, processes a...
متن کاملA distributed lifetime guaranteed mechanism in cooperative personal networks
Personal networks (PNs) have been thoroughly studied by many researchers. It is expected to play an important role in the near future along with its new form of Internet of Things (IoT). A PN is formed around a person’s IoT. Most wireless devices in PNs are battery powered and need to keep track of available energy. Additionally, users always require certain lifetime guarantees for the nodes in...
متن کاملAutomated user documentation generation based on the Eclipse application model
An application’s user documentation, also referred to as the user manual, is one of the core elements required in application distribution. While there exist many tools to aid an application’s developer in creating and maintaining documentation on and for the code itself, there are no tools that complement code development with user documentation for modern graphical applications. Approaches li...
متن کامل